Network layer protocols are intended to be capable of operating over services derived from a wide variety of sub-networks and data links. UMTS (Universal Mobile Telecommunications System) supports several network layer protocols providing protocol transparency for the users of the service. Introduction of new network layer protocols to be transferred over the UMTS Terrestrial Radio Access Network (UTRAN) shall be possible without any changes to UTRAN protocols. Therefore, all functions related to transfer of packets from higher layers (PDCP Service Data Units (SDUs)) shall be carried out in a transparent way by the UTRAN network entities. This is one of the requirements for PDCP.
According to the ETSI specification TS 125 323, the PDCP is responsible for header compression and decompression of IP (Internet Protocol) data streams (e.g. TCP/IP and RTP/UDP/IP headers) at the transmitting and receiving entity, respectively, transfer of user data, buffering of transmitted PDCP SDUs and associating PDCP SDU sequence numbers to the transmitted and received PDCP SDUs to guarantee lossless SRNS (Serving Radio Network Subsystem) relocation, and multiplexing of different radio bearers onto the same RLC (Radio Link Control) entity.
The PDCP SDUs which require reliable data transfer, are buffered and numbered in the PDCP layer. Numbering is carried out after header compression. The reception of a PDCP release request triggers the deletion of the buffer for the related PDCP entity. If lossless SRNS relocation is required, the PDCP entity buffers a PDCP SDU until information of successful transmission of the PDCP PDU (Packet Data Unit) has been received from the RLC. For each radio bearer, an Uplink (UL) Send PDCP Sequence Number is associated with each sent PDCP PDU in the user equipment (UE) or mobile terminal and a Downlink (DL) Send PDCP Sequence Number is associated with each sent PDCP PDU in the SRNC (Serving Radio Network Controller). Additionally, for each radio bearer, an UL Receive PDCP Sequence Number is associated with each received PDCP PDU in the SRNC and a DL Receive PDCP Sequence Number is associated with each received PDCP PDU in the UE or mobile terminal. When the PDCP entity is set up for the first time for the PDCP user, the PDCP sequence numbers are initialized to zero. The corresponding values are incremented by one at each transmission and reception of a PDCP PDU. The value of the PDCP sequence number ranges from 0 to 255. For unacknowledged mode RLC data transfer, the PDCP entity deletes a PDCP SDU immediately after the corresponding PDCP PDU has been delivered to the RLC.
In a Radio Network Controller (RNC) of the UTRAN, a buffer memory is provided in the PDCP layer, which is responsible for the buffering of the data packets (PDUs) transferred between mobile terminals and Internet hosts. For each mobile terminal that is accessing the Internet, a channel is assigned which includes a PDCP buffer inside. In the current implementation of the RNC, a maximum number of 80 concurrent channels is provided. The total memory used for the PDCP buffer is limited to 2M bytes and is divided into 80 parts, wherein each part is used for a corresponding channel. Thus, each channel can only use its own part of the buffer memory for its buffering. Due to different traffic in the different channels, buffer overflows may occur in some channels, while other parts of the memory are not used in some other channels. However, this underutilization of the buffer memory may lead to an increased number of packet-drops in case of traffic congestion and thus to an end-to-end network performance degradation.
Furthermore, with many concurrent data flows supported in all-IP networks (basic voice, real time video, email, ftp, www . . . ), a QoS (Quality of service) scheduling algorithm is required to maintain the QoS requirements for each flow over the shared cellular communication link. Additionally, the QoS scheduling algorithm should provide fair and optimum chances for multiple users and their independent traffic flows to share the limited set of channels available in a given radio cell in the uplink and the downlink.
For real time Variable Bit Rate (VBR) traffic (e.g. real-time conversational video), one of the problems to solve is to provide enough bandwidth to match the instantaneous rate demands, in order to meet the delay requirements of real-time traffic. A straight forward solution is to assign a dedicated bandwidth to each flow, but if the flows have fluctuating instantaneous rates, such a solution leads to bandwidth waste (if the dedicated bandwidth is set to the peak rate demand) or lack of QoS guarantees (if the dedicated bandwidth is set lower). A well-known solution is to use statistical multiplexing over multiple flows, but statistical multiplexing works well only over a large number of flows. Over a cellular link, due to bandwidth and terminal limitations, it is not valid to assume a large number of flows.
The problem is considered an open problem. However, some documented ideas have been proposed but only provide a partial solution to the problem. Deficit Round Robin (DRR), Weighted Fair Queuing (WFQ) and Earliest Due Date (EDD) are some of the documented scheduling algorithms that provide some form of service rates provisioning to concurrent user flows in different methods.
In DRR, a fairness level is achieved by using a deficit counter and a quantum of service for each user flow to decide how long the flow should be constantly served before moving on to the next user data flow. The service amount for a flow, in number of packets, may vary between rounds. During one round, user flows are selected sequentially. During each round in the Deficit Round Robin model, each user flow is serviced up to its allocated service rate (in number of packets) before moving to the next user flow. Even though the rate per user flow may be guaranteed, a packet may be delayed by a full round duration. For real time services support, lower bound delays are required, and given that the maximum delay is governed by the round duration, it would be impossible to provide different delay bounds to different flows as the number of user flows increases, therefore leading to a high packet drop ratio (packets exceeding their delay constraint are considered useless).
In WFQ, fairness is achieved by allocating a fixed service rate to each flow during initialisation stage. The allocated service rate is proportional to the weight of the carried traffic, for e.g. higher weights are assigned for lower delay constraint flows. In the WFQ model, the number of bits served in a scheduling round is proportional to the rate allocated to the flow (allocated rate is based on a fixed pre-assigned weight of the flow). To reduce the delay for a flow, its allocated rate must be increased. Given that the rate is fixed, the coupling between the rate allocation and the delay may lead to inefficient resource utilization (a low rate assignment reduce the QoS of the flow while a very large rate leads to a waste of bandwidth. This is due to the rate fluctuations in a real-time VBR traffic e.g. video conferencing and video streaming).
In EDD, each flow is served using a deadline base strategy where the user flow with earliest deadline is selected first. No explicit service rate is allocated for a user flow. Earliest Due Date scheduling algorithm is packet deadline driven. The rate assignment per user flow is not done explicitly but it is reflected in the service amount provided to the flow based on the delay criteria. Even though this idea may meet the delay requirements under normal operations, it does not cope with congestion (this may be common for the real time traffic with variable rate characteristics such as video conferencing and video streaming). In this scenario, packets with close deadlines will overbook the server, and given that there are no service rate control per user flow, the algorithm becomes unfair and packets will be dropped in an uncontrolled fashion.
Additionally, the known algorithms assume service of complete packets before scheduling another packet. This means that the transmission of a scheduled packet should be completed before scheduling another packet. Therefore the delay guarantees of a packet depends on the length of another packet (in a different flow) sharing the same channel. For example, a new short packet arriving in the system will be penalised by waiting for longer packets to finish transmission.